$.fn.alternateRowColors = function() {
    $('tbody tr:odd', this).removeClass('even').addClass('odd');
    $('tbody tr:even', this).removeClass('odd').addClass('even');
    return this;
};
$(document).ready(function(){
    var alternateRowColors = function($table) {
        $('tbody tr:odd', $table).removeClass('even').addClass('odd');
        $('tbody tr:even', $table).removeClass('odd').addClass('even');
    };
    $('table.sortable').each(function() {
        var $table = $(this);
        $table.alternateRowColors($table);
    }
    );
  
    $.ajaxSetup({
        cache: false,
        type: 'POST',
        dataType: 'json',
        error: function () {
            alert('Um erro de comunicação com o servidor ocorreu!');
            $('#ajax-ldr').fadeOut('fast');
        }
    });
    $("#data").datepicker({
        monthNames: ['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'],
        dayNamesMin: ['Dom','Seg','Ter','Qua','Qui','Sex','Sab'],
        dateFormat: 'dd/mm/yy'
    });
	
    $('#cliente_id').change(function(){
        $('#prospecto_id').val('');
    });
    $('#prospecto_id').change(function(){
        $('#cliente_id').val('');
    });
    //---------------------
    $('#ac_colaborador').autocomplete({
        source: function(request, response) {
            $.ajax({
                url: "/colaborador/index",
                type: "POST",
                datatype: "json",
                data: {
                    q: request.term
                },
                success: function(data) {
                    response($.map(data.colaboradores, function(item) {
                        return {
                            label: item.nome,
                            value: item.codusu
                        }
                    }))
                }
            })
        },
        focus: function(event,ui){
            $('#ac_colaborador').val(ui.item.label);
            return false;
        },
        open: function(event,ui) {
            $('#cliente_id').val('');
        },
        select: function(event,ui){
            $('#cliente_id').val(ui.item.value);
            $('#prospecto_id').val('');
            $('#ac_prospecto').val('');
            $('#ac_colaborador').val(ui.item.label);
            if ($('#cliente_id').val()!=''){
                $.ajax({
                    url: "/contato/index",
                    processData: false,
                    data: 'cliente_id='+$('#cliente_id').val(),
                    beforeSend: function (){
                        var pos = $('#ac_colaborador').position();
                        var width = $('#ac_colaborador').width();
                        $("#ajax-ldr").css( {
                            "left": (pos.left+width+5) + "px",
                            "top":pos.top + "px"
                        } ).fadeIn('fast');

                    },
                    success: function(msg){
                        $('#contato_id option').remove();
                        $('#contato_id').append("<option value=''>Selecione o Contato...</option>")
                        for (i = 0; i < msg.length; i++) {
                            $('#contato_id').append("<option value='"+msg[i].idcontato+"'>"+msg[i].dsnome+"</option>")
                        }
                        $('#ajax-ldr').fadeOut('fast');
                    }
                });
            }
            return false;
        },
        minLength: 3,
        delay: 300
    });
    $('#ac_prospecto').autocomplete({
        source: function(request, response) {
            $.ajax({
                url: "/prospectos/index",
                type: "POST",
                datatype: "json",
                data: {
                    q: request.term
                },
                success: function(data) {
                    response($.map(data.prospectos, function(item) {
                        return {
                            label: item.nome,
                            value: item.codusu
                        }
                    }))
                }
            })
        },
        focus: function(event,ui){
            $('#ac_prospecto').val(ui.item.label);
            return false;
        },
        open: function(event,ui) {
            $('#prospecto_id').val('');
        },
        select: function(event,ui){
            $('#prospecto_id').val(ui.item.value);
            $('#ac_colaborador').val(ui.item.label);
            $('#cliente_id').val('');
            $('#ac_colaborador').val('');
            if ($('#prospecto_id').val()!=''){
                $.ajax({
                    url: "/contato/index",
                    processData: false,
                    data: 'cliente_id='+$('#prospecto_id').val(),
                    beforeSend: function (){
                        var pos = $('#ac_prospecto').position();
                        var width = $('#ac_prospecto').width();
                        $("#ajax-ldr").css( {
                            "left": (pos.left+width+5) + "px",
                            "top":pos.top + "px"
                        } ).fadeIn('fast');

                    },
                    success: function(msg){
                        $('#contato_id option').remove();
                        $('#contato_id').append("<option value=''>Selecione o Contato...</option>")
                        for (i = 0; i < msg.length; i++) {
                            $('#contato_id').append("<option value='"+msg[i].idcontato+"'>"+msg[i].dsnome+"</option>")
                        }
                        $('#ajax-ldr').fadeOut('fast');
                    }
                });
            }
            return false;
        },
        minLength: 3,
        delay: 300
    });
    //---------------------
    $('.contato').change(function () {
        var aux = this;
        $.ajax({
            url: "/contato/index",
            processData: false,
            data: 'cliente_id='+$(aux).val(),
            beforeSend: function (){
                var pos = $(aux).position();
                var width = $(aux).width();
                $("#ajax-ldr").css( {
                    "left": (pos.left+width+5) + "px",
                    "top":pos.top + "px"
                } ).fadeIn('fast');
					  
            },
            success: function(msg){
                $('#contato_id option').remove();
                $('#contato_id').append("<option value=''>Selecione o Contato...</option>")
                for (i = 0; i < msg.length; i++) {
                    $('#contato_id').append("<option value='"+msg[i].idcontato+"'>"+msg[i].dsnome+"</option>")
                }
                $('#ajax-ldr').fadeOut('fast');
            }
        });
    });
    $('#adiciona').click(function(){
        //alert($('#cliente_id option:selected').val().length);
        if ($('#prospecto_id').val().length==0 && $('#cliente_id').val().length==0){
            alert('Prospecto ou Cliente deve ser informado!');
            return false;
        }else if ($('#km').val().length==0){
            alert('Informe a Quilometragem!');
            $('#km').val('0');
            return false;
        }
        $.ajax({
            url: "/roteiros/addvisita",
            processData: false,
            data: 'cliente_id='+$('#cliente_id').val()+'&prospecto_id='+$('#prospecto_id').val()
            +'&contato_id='+$('#contato_id').val()+'&km='+$('#km').val()+'&data='+$('#data').val()
            +'&hora='+$('#hora').val()+'&roteiro_id='+$('#id').val(),
            beforeSend: function (){
                var pos = $('#adiciona').position();
                var width = $('#adiciona').width();
                $("#ajax-ldr").css( {
                    "left": (pos.left+width+20) + "px",
                    "top":pos.top + "px"
                } ).fadeIn('fast');
					  
            },
            success: function(msg){
                var table = $('#itens');
                var aux;
                if ($('#cliente_id').val().length==0){
                    aux = $('#ac_prospecto').val()
                }else{
                    aux = $('#ac_colaborador').val()
                }
                var tot = parseInt($('#total').text());
                $.each(msg['itensroteiro'], function(key,value){
                    var vlr = (value.km);
                    tot = (tot+vlr);
                    $('#itens tbody')
                    .append($('<tr>').attr('id','tr_'+value.id)
                        .append($('<td>').text($('#data').val()+' '+$('#hora').val()+':00'))
                        .append($('<td>').text(aux))
                        .append($('<td>').text($('#contato_id option:selected').text()))
                        .append($('<td align="right">').text($('#km').val()))
                        .append($('<td align="center">')
                            .append($('<a>')
                                .click(function(){
                                    remove(this);
                                    return false;
                                })
                                .attr('id',value.id)
                                .attr('href','/roteiros/removeritem/id/'+value.id)
                                .append($('<img>').attr('src','/images/delete.gif'))
                                )
                            )
                        );
                });
                $('#total').html(tot);
                $('#itens').alternateRowColors();
                $('#ac_colaborador').val('');
                $('#ac_prospecto').val('');
                $('#prospecto_id').val('');
                $('#cliente_id').val('');
                $('#km').val('');
                $('#data').val('');
                $('#hora').val('');
                $('#ajax-ldr').fadeOut('fast');
            }
        });
    });
    $('.remove').click(function(){
        remove(this);
        return false;
    });
    function remove(e){
        var id = $(e).attr('id');
        $.ajax({
            url: "/roteiros/removeitem",
            processData: false,
            data: 'id='+id,
            beforeSend: function (){
                $('#wait').html('Removendo Item...').slideDown('slow');
            },
            success: function(msg){
                $('#itens').alternateRowColors();
                var vlr   = $('#tr_'+id+' td:last').prev().text();
                var tot   = $('#total').text();
                $('#tr_'+id).remove();
                $('#total').html(tot-vlr);
                $('#wait').fadeOut('fast');
            }
        });
    }
});